---
title: Konfiguration
description: Ultracites Standard-Linting-Konfiguration und wie man sie anpasst.
---

Eine der besten Eigenschaften von Ultracite ist, dass es sofort einsatzbereit ohne Konfiguration ist – Sie können einfach das `ultracite`-Preset erweitern und loslegen. Allerdings ist jedes Projekt etwas anders, und Sie möchten möglicherweise bestimmte Regeln anpassen oder Ultracite für verschiedene Frameworks konfigurieren. Dieser Abschnitt erklärt die Standardkonfiguration und wie man sie erweitert oder überschreibt.

Ultracite bietet frameworkspezifische Konfigurationen, die Sie zusätzlich zur Basis-Konfiguration erweitern können. Dadurch können Sie frameworkspezifische Linting-Regeln hinzufügen, ohne die Basis-Konfiguration aufzublähen oder sich mit irrelevanten Regeln befassen zu müssen.

Die vollständige Liste der verfügbaren Framework-Konfigurationen finden Sie im Abschnitt [Voreinstellungen](/preset/core).

### Verwendung

Um eine frameworkspezifische Konfiguration zu verwenden, fügen Sie sie Ihrem `extends`-Array hinzu:

```jsonc title="biome.jsonc"
{
  "extends": ["ultracite/core", "ultracite/solid"]
}
```

Sie können mehrere Konfigurationen kombinieren, wenn Sie an einem Multi-Framework-Projekt arbeiten oder etwas wie Astro verwenden, das mehrere Frameworks unterstützt.

```jsonc title="biome.jsonc"
{
  "extends": ["ultracite/core", "ultracite/react", "ultracite/remix"]
}
```

## Standardkonfiguration

Wenn Sie `"extends": ["ultracite/core"]` in Ihrer `biome.jsonc` aufnehmen, laden Sie die Basis-Preset-Konfiguration von Ultracite. Dieses Preset enthält frameworkunabhängige Regeln und Konfigurationen. Einige bemerkenswerte Aspekte der Standardkonfiguration:

- **TypeScript-Strenge**: Ultracite aktiviert TypeScripts strenge Prüfungen und Lint-Regeln, die robuste Typisierung verlangen. Beispielsweise wird die Verwendung von `any` entmutigt, das Handling von `null/undefined` vorausgesetzt, und in bestimmten Situationen werden explizite Typen bevorzugt, um Mehrdeutigkeiten zu vermeiden.
- **ESLint-„Recommended“-Äquivalente**: Gängige Best-Practice-Regeln (keine unbenutzten Variablen, kein explizites eval, keine Prototype-Verschmutzung, etc.) sind enthalten.
- **Barrierefreiheit**: Regeln, die Barrierefreiheitsstandards entsprechen, sind standardmäßig aktiviert (ARIA-Attribute, semantisches HTML, Tastaturnavigation, etc.).
- **Node.js**: Umgebungsspezifische Besonderheiten werden berücksichtigt. Beispielsweise werden von Node bereitgestellte globale Variablen (wie `module`, `process`) erkannt, sodass sie nicht fälschlicherweise als undefiniert markiert werden.
- **Formatierungskonventionen**: Die Formatierer-Einstellungen von Ultracite (größtenteils von Biome/Prettier-Standards übernommen) umfassen 2 Leerzeichen Einrückung, eine maximale Zeilenlänge von 80 Zeichen, Semikolons am Ende von Anweisungen, abschließende Kommas dort, wo gültig (z. B. in mehrzeiligen Arrays/Objekten), doppelte Anführungszeichen für Strings usw. Diese wurden gewählt, um gängige Konventionen zu erfüllen und saubere Diffs sicherzustellen.

All diese Voreinstellungen zielen darauf ab, einen konsistenten Stil durchzusetzen und häufige Fehler zu verhindern, ohne dass Sie jede Regel manuell konfigurieren müssen.

Für eine umfassende Referenz aller im Ultracite-Basis-Konfiguration konfigurierten Linting-Regeln siehe die Dokumentation zur [Kernkonfiguration](/preset/core).

## Überschreiben der Konfiguration

### `biome.jsonc` bearbeiten

Sie können Regeln deaktivieren, indem Sie die Datei `biome.jsonc` ändern.

Beispielsweise können Sie zum Deaktivieren der Regel `noAutofocus` Folgendes hinzufügen:

```jsonc title="biome.jsonc"
{
  "linter": {
    "rules": {
      "a11y": {
        "noAutofocus": "off"
      }
    }
  }
}
```

### Inline-Kommentare

Sie können Regeln auch zeilenweise deaktivieren, indem Sie einen Kommentar ans Ende der Zeile setzen:

```tsx title="page.tsx"
// biome-ignore lint/security/noDangerouslySetInnerHtml: This is a valid use case.
<div dangerouslySetInnerHTML={{ ... }} />
```